package com.xuecheng.media.task;

import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * @description 测试执行器
 */
 @Component
 @Slf4j
public class SampleJob {
     /**
      * 1、简单任务示例（Bean模式）
      */
     @XxlJob("testJob")
     public void testJob() throws Exception {
        log.info("开始执行.....");
     }

    /**
     * 2、分片广播任务
     */
    @XxlJob("shardingJobHandler")
    public void shardingJobHandler() throws Exception {

        //查询数据   10 个数据

        //第1批任务 执行  1-3 数据
        //第2批任务 执行  4-6 数据
        //第3批任务 执行  7-10 数据

        // 分片参数
        int shardIndex = XxlJobHelper.getShardIndex();

        //分片总数
        int shardTotal = XxlJobHelper.getShardTotal();

        log.info("分片参数：当前分片序号 = {}, 总分片数 = {}",
                shardIndex,
                shardTotal);

        log.info("开始执行第"+shardIndex+"批任务");
    }
}